Threading will no longer ever be a problem. Use of the Thread Manager has been removed. It didn't make it any faster anyway. In fact it made it quite a bit slower. I've found that one should only employ threading in a CGI if, and only if, the whole CGI process takes more than 5 seconds or so. Count WWWebula was around 1-2 seconds. It was just way too much hassle for too little good (none).
A few memory problems have been removed. One problem involved writing a short string to some random place in memory, though you've probably never experienced a bug caused by this.
Added limited balloon help to the File Menu's items. (Only limited, since the Apple Guide answers most questions.)
You can no longer manually check SIVC information via the "Current Version Info..." menu item if you don't already have an open TCP connection. This stops crashing on machines running MacTCP or MacPPP whenever you aren't connected to your Internet Service Provider.
Fixed a problem with spurious crashes on 68K Macs.
Please note all the changes in 1.2.2, except the threading fix, as it is completely unimportant now.
Major threading fix. I don't know what the symptoms were, but there was a major hole in threading, I don't even know if it screwed anything up or became a bug, but it's fixed.
All files being created/written/read are now REAL Macintosh files. Thus they have a creator and file type. In other words, for the programmers out there, I'm using the Macintosh File Manager now instead of ANSI C file calls. This also means that the CGI will be more reliable. This was accomplished with the help of Charles Wilson of Metrowerks and Thurman Gillespy III.
This should completely fix the problem with web pages being reset to zero hits, and also data file indexes losing the first letter in counter.dat (I know I've said this before, but I feel confident this time ... really).
Speedier. I've optimized some of the code to run a little faster. I've also recompiled it using CodeWarrior 8.
The counter should now work properly on 68000 Macintoshes.
Now, if the counter can't find the "boo.gif" or "failed.gif" in the normal digit directory (custom or default) it will look for them in the same folder as the counter as a last resort.
*** 1.2 and 1.2.1 Changes
Gif digit sizes are now automatically figured out on the fly. There is no
longer a size setting in the preferences dialog box. The way it does this is by looking at the size of digit "zero" ... in other words, all digits in a given set (i.e., odometer, doghouse, bembo, etc), must be the same size. They can be different sizes from other sets... but digits 1-9 must be the
same size as digit 0.
I've created an Apple Guide to help you set up the CGI for you Web Server.
To access it, run the CGI application and look underneath the Balloon Help
menu, then select "Count WWWebula Guide". Note: In order to view this Apple Guide on pre-7.5 systems, you need to get Apple Guide 2.0 (for those with 7.5 or later, get 2.0 anyway as it adds speed increases and bug fixes). Apple Guide 2.0 is available from Apple at: <ftp://ftp.info.apple.com/Apple.Support.Area/Developer_Services/System_Software_Extensions/Apple_Guide_Authoring_Kit/Apple_Guide_2.0.sit.hqx>.
Moved some global variables to local. This may not seem like much, but I
discovered that during Threading, the global variables were sometimes being
changed by one thread, which affected all the other threads. So, moving them to local variables, each thread has it's own information as it should. It should also speed up the counter slightly on PowerPCs (though probably not noticeable to the human eye).
There was a problem with WebStar occasionally returning a "Descriptor Not
Found (-1701)" error. This is caused when Count WWWebula does not get enough memory allocated to it. I increased the minimum memory and preferred memory requirements by 50K each.
Fixed a few memory leaks. These appeared after repeatedly opening and closing the preferences dialog box without quitting the CGI.
Changed the preferences dialog box to be a modeless. Now other events can
occur in the background while you are setting preferences. In doing this I
fixed several other memory leaks on accident.
Slimmed down the code a lot. Removed some redundancies.
Fixed a problem with broken gif images when the arguments to the CGI were too long.
Rewrote all of the data file code (counter.dat). It was using ANSI C file
commands to create/open/write to the data file. This was causing various
problems with indexing items in the text of the document. You probably
noticed this in the form of only a partial line, instead of "main 6" it would show up as "ain 6". I rewrote it all to now use the File Manager toolbox routines. The counter should be much smarter in this area now. Another benefit is the data file now have a groovy icon. (A bat taking a byte of a text document, notice the teeth marks?).
While I was at it, I went ahead and rewrote the error logging code to use the File Manager toolbox calls as well (it also sports the new icon as above).
*** 1.1 Changes
Now you can set the number of digits you wish to be in the counter. (i.e.,
for those of you who liked the preceding zeros in the odometer type digits,
they're back).
Changed the format for specifying fonts, (NOTE: IT IS STILL BACKWARDS
COMPATIBLE WITH THE OLDER SYNTAX, YOU DON'T HAVE TO CHANGE YOUR WEB PAGES
FROM OLDER VERSIONS).
Transparent counter digits are now supported.
It should be somewhat faster, I recompiled it under CodeWarrior 7.
The CGI no longer has to quit when you save your preferences.
You can now specify from what domains (ip addresses, domain names, etc), you
don't want the counter to increment when viewing your pages. This is helpful if you want to keep a fairly accurate account of visitors, and you don't want your "html debugging" visits to fool the counter into thinking that you are someone important who needs to be counted. Also this works if you only want people outside of your company or school to be counted as viewing a page... just specify a partial domain and ip address, instead of a full one.
If you use Internet Config 1.1 or later, you can open the About Count
WWWebula dialog and click on almost all the names and items, and the
application will send the appropriate URL for more information to the proper
client, as specified by your Internet Config preferences.
The application/cgi, now has Simple Internet Version Control (SIVC)
capabilities. You may be familiar with this from working with Anarchie 1.6.0
and FTPd 3.0. ... More information available in the documentation.
*** 1.0.2 Changes
Fixes some incompatibilities with NCSA's Mosaic Browser, WebSurf, and
NetShark, among a few others.
Symptoms of this looked like "Access Denied" responses even when you had your
restrictions set up properly. This is due to several browsers not sending
the "Referral" data to the CGI. This also caused many lines containing only
"Access Denied to Host: " followed by a blank line in the Count WWWebula
Error Log.
Another you might have noticed appeared as strange results in the Counter.dat
files. Several indecies would appear for a single page, with only the first
letter of the index removed. For instance, I noticed I had 2 indexes for my
graphical page. One index had a near proper count, with the name
"graphical". Another had a count of only 7, with a name of "raphical" or
"aphical".
Restrictions in the preferences dialog are no longer case sensitive.
Counts can now go as high as 99,999,999 (almost 100 million). There is no
longer a setting for the Maximum number of digits shown. This is because
there is no more padding the counters with zeros on the left. If the count
is "1" then only one digit will be in your counter. If the count is "100"
then there will only be 3 digits in your counter.
Memory requirements are down to 512K preferred, 368K minimum, slightly higher
for PPCs. (this is *somewhat* untested. .. if you experience problems, try
increasing the memory)
*** 1.0.1 Changes
Count WWWebula Error Log now displays the time/date the error occurred.
Something that should've been done a long time ago.
*** 1.0 Changes (get a pen ready, lots of new stuff):
The software is now Shareware. Commercial companies must pay the
registration fee if they are going to use this software. Individuals,
educational institutions, and non-profit organizations need not pay the
registration fee (you'll get better technical support if you do, though).
Had to switch over to "path arguments" .. the search args didn't allow enough
string text to go through in one event, so now you must call the cgi with a
"$" instead of a "?" like so: <img
src=/cgi/counter/counter.acgi$stuff/morestuff>
Memory requirements are WAY down.... 512K minimum, 1024K preferred.
Groovy Preferences Dialog. You now no longer need ResEdit to change site
specific information on the CGI.
New documentation.
Counter home page complete with FAQ and added documentation located at